#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    createMenuBar(); // 初始化菜单栏
    createtoolBar();//初始化toolbar
}

MainWindow::~MainWindow()
{
    delete ui;
    delete toolBar;
    delete m_fileMenu;
    delete m_toolMenu;
}
void MainWindow::createMenuBar() {
    m_fileMenu = new FileMenu(this);  // 创建 FileMenu 对象
    m_toolMenu=new ToolMenu(this);
    menuBar()->addMenu(m_fileMenu);  // 添加到菜单栏
    menuBar()->addMenu(m_toolMenu);
}
void MainWindow::createtoolBar(){
    toolBar=new ToolBar(this);
    serialUI = new SerialUI(this);
    addToolBar(toolBar);
    connect(toolBar, &ToolBar::signalRun, serialUI, &SerialUI::startThread);
    connect(toolBar, &ToolBar::signalStop, serialUI, &SerialUI::stopThread);
    // 连接 SerialUI 的线程状态信号到 ToolBar 的更新槽
    connect(serialUI, &SerialUI::threadStatusChanged, toolBar, &ToolBar::updateRunStopButtons);
    // 连个slotOpenTable
    connect(toolBar, &ToolBar::signalOpenTable, serialUI, &SerialUI::showTableView);
}
